import axios from "axios";

// 创建 Axios 实例
const request = axios.create({
  baseURL: "/api",
  timeout: 60000, // 请求超时时间
});

// 请求拦截器
request.interceptors.request.use(
  (config) => {
    try {
      const data = JSON.parse(localStorage.getItem("LoginUser"));
      console.log("LoginUser:", data);
      if (data && data.token) {
        config.headers.token = data.token; // 添加 token 到请求头
      }
    } catch (error) {
      console.error("Error parsing LoginUser from localStorage:", error);
    }
    return config; // 必须返回 config
  },
  (error) => {
    return Promise.reject(error); // 处理请求错误
  }
);

// 响应拦截器
request.interceptors.response.use(
  (response) => {
    return response.data; // 直接返回响应数据
  },
  (error) => {
    if (axios.isCancel(error)) {
      console.log("Request canceled:", error.message);
    } else {
      console.error("Response error:", error);
    }
    return Promise.reject(error); // 处理响应错误
  }
);

export default request;